]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
extensionSystem: Split out the actual extension disabling
authorMarco Trevisan (Treviño) <mail@3v1n0.net>
Thu, 7 May 2026 18:20:24 +0000 (20:20 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Sun, 2 Aug 2026 16:49:06 +0000 (18:49 +0200)
We will need it in an upcoming commit, and let's try to share code, even
if it's not much

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4276>
(cherry picked from commit 3a4bb929e34d6fbe36f84a335180d063cdf7d413)

js/ui/extensionSystem.js

index fcff08eb4a45c0b0e3a05e1e1acbed827d6318f8..9a34a9cbf3a7fd0a78be255152c93453ccfa1c71 100644 (file)
@@ -180,6 +180,14 @@ export class ExtensionManager extends Signals.EventEmitter {
         return false;
     }
 
+    _callExtensionDisable(extension) {
+        try {
+            extension.stateObj.disable();
+        } catch (e) {
+            this.logExtensionError(extension.uuid, e);
+        }
+    }
+
     async _callExtensionDisableWithRebase(uuid) {
         const extension = this.lookup(uuid);
         if (!extension)
@@ -204,20 +212,11 @@ export class ExtensionManager extends Signals.EventEmitter {
 
         for (let i = 0; i < orderReversed.length; i++) {
             const otherUuid = orderReversed[i];
-            try {
-                console.debug(`Temporarily disable extension ${otherUuid}`);
-                this.lookup(otherUuid).stateObj.disable();
-            } catch (e) {
-                this.logExtensionError(otherUuid, e);
-            }
-        }
-
-        try {
-            extension.stateObj.disable();
-        } catch (e) {
-            this.logExtensionError(uuid, e);
+            console.debug(`Temporarily disable extension ${otherUuid}`);
+            this._callExtensionDisable(this.lookup(otherUuid));
         }
 
+        this._callExtensionDisable(extension);
         this._unloadExtensionStylesheet(extension);
 
         for (let i = 0; i < order.length; i++) {